<?php

namespace JLPay\Models\Fund\Deferred;

use JLPay\Models\BaseResponse;

/**
 * 资金流水查询响应
 */
class FundFlowQueryResponse extends BaseResponse
{
    protected ?string $outOrderId = null;
    protected ?string $oriOutOrderId = null;
    protected ?string $transactionId = null;
    protected ?string $merchNo = null;
    protected ?string $orderType = null;
    protected ?string $freezeAmount = null;
    protected ?string $unfreezeAmount = null;
    protected ?string $status = null;
    protected ?string $failureReason = null;
    protected ?string $freezeTime = null;
    protected ?string $unfreezeTime = null;
    protected ?string $reason = null;
    protected ?string $remark = null;

    /**
     * 获取外部订单ID
     *
     * @return string|null
     */
    public function getOutOrderId(): ?string
    {
        return $this->outOrderId;
    }

    /**
     * 获取原外部订单ID
     *
     * @return string|null
     */
    public function getOriOutOrderId(): ?string
    {
        return $this->oriOutOrderId;
    }

    /**
     * 获取交易ID
     *
     * @return string|null
     */
    public function getTransactionId(): ?string
    {
        return $this->transactionId;
    }

    /**
     * 获取商户号
     *
     * @return string|null
     */
    public function getMerchNo(): ?string
    {
        return $this->merchNo;
    }

    /**
     * 获取订单类型
     *
     * @return string|null
     */
    public function getOrderType(): ?string
    {
        return $this->orderType;
    }

    /**
     * 获取冻结金额
     *
     * @return string|null
     */
    public function getFreezeAmount(): ?string
    {
        return $this->freezeAmount;
    }

    /**
     * 获取解冻金额
     *
     * @return string|null
     */
    public function getUnfreezeAmount(): ?string
    {
        return $this->unfreezeAmount;
    }

    /**
     * 获取状态
     *
     * @return string|null
     */
    public function getStatus(): ?string
    {
        return $this->status;
    }

    /**
     * 获取失败原因
     *
     * @return string|null
     */
    public function getFailureReason(): ?string
    {
        return $this->failureReason;
    }

    /**
     * 获取冻结时间
     *
     * @return string|null
     */
    public function getFreezeTime(): ?string
    {
        return $this->freezeTime;
    }

    /**
     * 获取解冻时间
     *
     * @return string|null
     */
    public function getUnfreezeTime(): ?string
    {
        return $this->unfreezeTime;
    }

    /**
     * 获取原因
     *
     * @return string|null
     */
    public function getReason(): ?string
    {
        return $this->reason;
    }

    /**
     * 获取备注
     *
     * @return string|null
     */
    public function getRemark(): ?string
    {
        return $this->remark;
    }
} 